namespace WenYu.Core.Parser;

/// <summary>
/// AST节点基类 - 所有AST节点的父类
/// </summary>
public abstract class AstNode
{
    /// <summary>
    /// 源代码行号
    /// </summary>
    public int Line { get; set; }
    
    /// <summary>
    /// 源代码列号
    /// </summary>
    public int Column { get; set; }
    
    /// <summary>
    /// 接受访问者模式（用于后续代码生成）
    /// </summary>
    public abstract T Accept<T>(IAstVisitor<T> visitor);
}

/// <summary>
/// 访问者接口（用于遍历AST）
/// </summary>
public interface IAstVisitor<T>
{
    // 后续实现时添加各种Visit方法
}

